package com.deram.ctin.serv.search.entity.solr.bean;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.data.annotation.Id;
import org.springframework.data.solr.core.mapping.Indexed;
import org.springframework.data.solr.core.mapping.SolrDocument;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(description = "海关搜索参数")
@SolrDocument(solrCoreName = "customs")
public class SolrCustomsInfo {



    @ApiModelProperty(value = "海关记录id，与数据库记录对应匹配")
    @Id
    @Indexed
    private Long id;
    @ApiModelProperty(value = "商品编码")
    @Indexed
    private String hsCode;
    @ApiModelProperty(value = "商品名称")
    @Indexed(type = "string")
    private String hsName;
    @ApiModelProperty(value = "出口类型")
    @Indexed
    private Integer type;
    @ApiModelProperty(value = "出口类型名称")
    @Indexed(type = "string")
    private String typeName;
    @ApiModelProperty(value = "商品项数")
    @Indexed
    private Integer hsNumber;
    @ApiModelProperty(value = "申报日期")
    @Indexed
    private Date declarationDate;
    @ApiModelProperty(value = "进出口日期")
    @Indexed
    private Date exportDate;
    @ApiModelProperty(value = "规格型号")
    @Indexed(type = "string")
    private String hsModels;
    @ApiModelProperty(value = "申报单价")
    @Indexed
    private Double declarationPrice;
    @ApiModelProperty(value = "申报总价")
    @Indexed
    private Double declarationAmount;
    @ApiModelProperty(value = "申报数量")
    @Indexed
    private Integer declarationNumber;
    @ApiModelProperty(value = "美元单价")
    @Indexed
    private Double dollarPrice;
    @ApiModelProperty(value = "美元总价")
    @Indexed
    private Double dollarAmount;
    @ApiModelProperty(value = "法定重量")
    @Indexed
    private Double legalWeight;
    @ApiModelProperty(value = "成交方式")
    @Indexed
    private Integer deliveryModel;
    @ApiModelProperty(value = "成交方式名称")
    @Indexed(type = "string")
    private String deliveryName;
    @ApiModelProperty(value = "贸易方式")
    @Indexed
    private Integer tradeModel;
    @ApiModelProperty(value = "贸易方式名称")
    @Indexed(type = "string")
    private String tradeName;
    @ApiModelProperty(value = "件数")
    @Indexed
    private Integer casesNumber;
    @ApiModelProperty(value = "总毛重")
    @Indexed(type = "string")
    private String totalGross;
    @ApiModelProperty(value = "总净重")
    @Indexed(type = "string")
    private String totalWeight;
    @ApiModelProperty(value = "出口关区")
    @Indexed(type = "string")
    private String exportCustoms;
    @ApiModelProperty(value = "卸货港")
    @Indexed(type = "string")
    private String dischargingPort;
    @ApiModelProperty(value = "船名")
    @Indexed(type = "string")
    private String shipsName;
    @ApiModelProperty(value = "主管关区")
    @Indexed(type = "string")
    private String competentCustoms;
    @ApiModelProperty(value = "中转国")
    @Indexed(type = "string")
    private String transitCountry;
    @ApiModelProperty(value = "航次")
    @Indexed
    private Integer voyageNumber;
    @ApiModelProperty(value = "原产地")
    @Indexed(type = "string")
    private String sourceArea;
    @ApiModelProperty(value = "目的国")
    @Indexed(type = "string")
    private String destinationCountry;
    @ApiModelProperty(value = "提单号")
    @Indexed(type = "string")
    private String goodsNumber;
    @ApiModelProperty(value = "集装箱数量")
    @Indexed
    private Integer containerQuantity;
    @ApiModelProperty(value = "运输方式")
    @Indexed
    private Integer transportType;
    @ApiModelProperty(value = "运输方式名称")
    @Indexed(type = "string")
    private String transportName;
    @ApiModelProperty(value = "经营单位")
    @Indexed(type = "string")
    private String businessUnit;
    @ApiModelProperty(value = "申报单位")
    @Indexed(type = "string")
    private String applicationUnit;
    @ApiModelProperty(value = "征税方式")
    @Indexed
    private Integer taxTreatment;
    @ApiModelProperty(value = "征税方式名称")
    @Indexed(type = "string")
    private String taxTreatmentName;
    @ApiModelProperty(value = "企业性质")
    @Indexed
    private Integer property;
    @ApiModelProperty(value = "企业性质名称")
    @Indexed(type = "string")
    private String propertyName;
    @ApiModelProperty(value = "货主单位")
    @Indexed(type = "string")
    private String ownerUnit;
    @ApiModelProperty(value = "征免性质")
    @Indexed(type = "string")
    private String exemptionNature;
    @ApiModelProperty(value = "企业注册地")
    @Indexed(type = "string")
    private String enterpriseRegistry;
    @ApiModelProperty(value = "运输单位")
    @Indexed(type = "string")
    private String trafficUnit;
    @ApiModelProperty(value = "用途")
    @Indexed(type = "string")
    private String use;
    @ApiModelProperty(value = "其他备注")
    @Indexed(type = "string")
    private String remarks;
    @ApiModelProperty(value = "搜索关键字")
    private String keywords;

    @ApiModelProperty(value = "大洲编码")
    @Indexed(type = "string")
    private String continentCode;
    @ApiModelProperty(value = "大洲名称")
    @Indexed(type = "string")
    private String continentName;
    @ApiModelProperty(value = "国家编码")
    @Indexed(type = "string")
    private String countryCode;
    @ApiModelProperty(value = "国家名称")
    @Indexed(type = "string")
    private String countryName;

    @Indexed
    private Long enterId;



    public SolrCustomsInfo(){

    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getHsCode() {
        return hsCode;
    }

    public void setHsCode(String hsCode) {
        this.hsCode = hsCode;
    }

    public String getHsName() {
        return hsName;
    }

    public void setHsName(String hsName) {
        this.hsName = hsName;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Integer getHsNumber() {
        return hsNumber;
    }

    public void setHsNumber(Integer hsNumber) {
        this.hsNumber = hsNumber;
    }

    public Date getDeclarationDate() {
        return declarationDate;
    }

    public void setDeclarationDate(Date declarationDate) {
        this.declarationDate = declarationDate;
    }

    public Date getExportDate() {
        return exportDate;
    }

    public void setExportDate(Date exportDate) {
        this.exportDate = exportDate;
    }

    public String getHsModels() {
        return hsModels;
    }

    public void setHsModels(String hsModels) {
        this.hsModels = hsModels;
    }

    public Double getDeclarationPrice() {
        return declarationPrice;
    }

    public void setDeclarationPrice(Double declarationPrice) {
        this.declarationPrice = declarationPrice;
    }

    public Double getDeclarationAmount() {
        return declarationAmount;
    }

    public void setDeclarationAmount(Double declarationAmount) {
        this.declarationAmount = declarationAmount;
    }

    public Integer getDeclarationNumber() {
        return declarationNumber;
    }

    public void setDeclarationNumber(Integer declarationNumber) {
        this.declarationNumber = declarationNumber;
    }

    public Double getDollarPrice() {
        return dollarPrice;
    }

    public void setDollarPrice(Double dollarPrice) {
        this.dollarPrice = dollarPrice;
    }

    public Double getDollarAmount() {
        return dollarAmount;
    }

    public void setDollarAmount(Double dollarAmount) {
        this.dollarAmount = dollarAmount;
    }

    public Double getLegalWeight() {
        return legalWeight;
    }

    public void setLegalWeight(Double legalWeight) {
        this.legalWeight = legalWeight;
    }

    public Integer getDeliveryModel() {
        return deliveryModel;
    }

    public void setDeliveryModel(Integer deliveryModel) {
        this.deliveryModel = deliveryModel;
    }

    public String getDeliveryName() {
        return deliveryName;
    }

    public void setDeliveryName(String deliveryName) {
        this.deliveryName = deliveryName;
    }

    public Integer getTradeModel() {
        return tradeModel;
    }

    public void setTradeModel(Integer tradeModel) {
        this.tradeModel = tradeModel;
    }

    public String getTradeName() {
        return tradeName;
    }

    public void setTradeName(String tradeName) {
        this.tradeName = tradeName;
    }

    public Integer getCasesNumber() {
        return casesNumber;
    }

    public void setCasesNumber(Integer casesNumber) {
        this.casesNumber = casesNumber;
    }

    public String getTotalGross() {
        return totalGross;
    }

    public void setTotalGross(String totalGross) {
        this.totalGross = totalGross;
    }

    public String getTotalWeight() {
        return totalWeight;
    }

    public void setTotalWeight(String totalWeight) {
        this.totalWeight = totalWeight;
    }

    public String getExportCustoms() {
        return exportCustoms;
    }

    public void setExportCustoms(String exportCustoms) {
        this.exportCustoms = exportCustoms;
    }

    public String getDischargingPort() {
        return dischargingPort;
    }

    public void setDischargingPort(String dischargingPort) {
        this.dischargingPort = dischargingPort;
    }

    public String getShipsName() {
        return shipsName;
    }

    public void setShipsName(String shipsName) {
        this.shipsName = shipsName;
    }

    public String getCompetentCustoms() {
        return competentCustoms;
    }

    public void setCompetentCustoms(String competentCustoms) {
        this.competentCustoms = competentCustoms;
    }

    public String getTransitCountry() {
        return transitCountry;
    }

    public void setTransitCountry(String transitCountry) {
        this.transitCountry = transitCountry;
    }

    public Integer getVoyageNumber() {
        return voyageNumber;
    }

    public void setVoyageNumber(Integer voyageNumber) {
        this.voyageNumber = voyageNumber;
    }

    public String getSourceArea() {
        return sourceArea;
    }

    public void setSourceArea(String sourceArea) {
        this.sourceArea = sourceArea;
    }

    public String getDestinationCountry() {
        return destinationCountry;
    }

    public void setDestinationCountry(String destinationCountry) {
        this.destinationCountry = destinationCountry;
    }

    public String getGoodsNumber() {
        return goodsNumber;
    }

    public void setGoodsNumber(String goodsNumber) {
        this.goodsNumber = goodsNumber;
    }

    public Integer getContainerQuantity() {
        return containerQuantity;
    }

    public void setContainerQuantity(Integer containerQuantity) {
        this.containerQuantity = containerQuantity;
    }

    public Integer getTransportType() {
        return transportType;
    }

    public void setTransportType(Integer transportType) {
        this.transportType = transportType;
    }

    public String getTransportName() {
        return transportName;
    }

    public void setTransportName(String transportName) {
        this.transportName = transportName;
    }

    public String getBusinessUnit() {
        return businessUnit;
    }

    public void setBusinessUnit(String businessUnit) {
        this.businessUnit = businessUnit;
    }

    public String getApplicationUnit() {
        return applicationUnit;
    }

    public void setApplicationUnit(String applicationUnit) {
        this.applicationUnit = applicationUnit;
    }

    public Integer getTaxTreatment() {
        return taxTreatment;
    }

    public void setTaxTreatment(Integer taxTreatment) {
        this.taxTreatment = taxTreatment;
    }

    public String getTaxTreatmentName() {
        return taxTreatmentName;
    }

    public void setTaxTreatmentName(String taxTreatmentName) {
        this.taxTreatmentName = taxTreatmentName;
    }

    public Integer getProperty() {
        return property;
    }

    public void setProperty(Integer property) {
        this.property = property;
    }

    public String getPropertyName() {
        return propertyName;
    }

    public void setPropertyName(String propertyName) {
        this.propertyName = propertyName;
    }

    public String getOwnerUnit() {
        return ownerUnit;
    }

    public void setOwnerUnit(String ownerUnit) {
        this.ownerUnit = ownerUnit;
    }

    public String getExemptionNature() {
        return exemptionNature;
    }

    public void setExemptionNature(String exemptionNature) {
        this.exemptionNature = exemptionNature;
    }

    public String getEnterpriseRegistry() {
        return enterpriseRegistry;
    }

    public void setEnterpriseRegistry(String enterpriseRegistry) {
        this.enterpriseRegistry = enterpriseRegistry;
    }

    public String getTrafficUnit() {
        return trafficUnit;
    }

    public void setTrafficUnit(String trafficUnit) {
        this.trafficUnit = trafficUnit;
    }

    public String getUse() {
        return use;
    }

    public void setUse(String use) {
        this.use = use;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getContinentCode() {
        return continentCode;
    }

    public void setContinentCode(String continentCode) {
        this.continentCode = continentCode;
    }

    public String getContinentName() {
        return continentName;
    }

    public void setContinentName(String continentName) {
        this.continentName = continentName;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    public String getCountryName() {
        return countryName;
    }

    public void setCountryName(String countryName) {
        this.countryName = countryName;
    }

    public Long getEnterId() {
        return enterId;
    }

    public void setEnterId(Long enterId) {
        this.enterId = enterId;
    }
}